21|DRY原则

DRY原则

Don’t repeat yourself(避免重复代码)

  1. 逻辑重复

isValidUserName()与isValidPassword()验证逻辑一样,但是没有违背DRY原则,因为他们的语义不重复,是做的两个事情,有可能后期两者的验证逻辑会发生变化,所以不能融合在一起。应该尽量抽象出一些更细粒度的函数出来。

  1. 语义重复

isValidIp()与checkIfIpValid()虽然实现逻辑不一样,但是他们的语义都是一样的,都是验证IP的合法性,这种情况是违背DRY原则的,如果后期修改验证规则,只修改了其中一个会出现问题。

  1. 执行重复

有些逻辑被执行了多次,违背DRY原则

如何提高代码复用性

  1. 减少代码耦合

高度耦合的代码,当需要复用某块代码的时候,难以抽取复用的代码,所以高度耦合的代码会影响代码复用性。

  1. 满足单一职责原则

如果设计的代码功能大而全,则依赖比较多,耦合比较严重,则影响代码复用性。

  1. 模块化

善于将功能独立的代码抽离成模块

  1. 业务与非业务逻辑分离
    与业务分离的代码更容易抽离出通用框架或者类库,易于复用。

  2. 应用模板等设计模式